package com.txzt.gaea.business.project.domain.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.txzt.gaea.flow.vo.FlowBizStepVo;
import lombok.Data;
import org.beetl.sql.core.annotatoin.InsertIgnore;
import org.beetl.sql.core.annotatoin.Table;
import org.beetl.sql.core.annotatoin.UpdateIgnore;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
@Table(name="tb_project_fund")
public class ProjectFund {

    /*主键id*/
    private Long id ;
    /*项目id*/
    private Long projectId ;
    /*流程id*/
    private Long flowId ;
    /*用途*/
    private String fundPurpose ;
    /*预算*/
    private BigDecimal fundBudget ;
    /*实际开支*/
    private BigDecimal actualSpend ;
    /*经费类型*/
    private String fundType ;
    /*审核状态*/
    private Integer checkStatus ;
    /*支出形式*/
    private String paymentMethod ;
    /*录入人员*/
    private String recordBy ;
    /*登记日期*/
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date recordTime ;
    /*附件*/
    private String filePath ;
    /*备注*/
    private String remark ;
    /*创建人*/
    private Long createBy ;
    /*创建时间*/
    private Date createTime ;
    /*更新人*/
    private Long updateBy ;
    /*更新时间*/
    private Date updateTime ;
    /*删除标志*/
    private Integer isDelete ;
    /*当前步骤名称*/
    @UpdateIgnore
    @InsertIgnore
    private String currentStepName;
    /*当前审核人*/
    @UpdateIgnore
    @InsertIgnore
    private String currentStepMember;
    @UpdateIgnore
    @InsertIgnore
    private String createName;
    @UpdateIgnore
    @InsertIgnore
    private String projectName;
    @UpdateIgnore
    @InsertIgnore
    private List<Long> roleIds;
    /*项目当前审核流程步骤*/
    @UpdateIgnore
    @InsertIgnore
    private List<FlowBizStepVo> flowStep;
    /*是否可审核*/
    @InsertIgnore
    @UpdateIgnore
    private boolean isCheck;
}
